perm filename DICTBT.FAI[MUS,LCS]1 blob
sn#007390 filedate 1974-01-08 generic text, type T, neo UTF8
00100 TITLE DICTBT
00120 INTERNAL UNPACK,REPACK,D2A,SPEED
00140
00160 ; CALL UNPACK(WORD,N) -- [ARRAY N(3)]
00180 ; CALL REPACK(WORD,N) -- [ARRAY N(3)]
00190 ; PUTS 3 SOUND SAMPLES OF 'WORD' INTO N(1), N(2), N(3).
00200
00300 X ← 2
00400 T ← 3
00500
00600 IDX: XWD 441400,-3
00700
00800 UNPACK: 0
00900 MOVE T,0(16)
01000 HLL T,IDX
01100 MOVE X,1(16)
01200 HRL X,IDX
01300 LOOP1:
01400 ILDB 1,T
01500 LSH 1,=24
01600 ASH 1,-=24
01700 MOVEM 1,(X)
01800 AOBJN X,LOOP1
01900 JRA 16,2(16)
02000 REPACK: 0
02100 MOVE T,0(16)
02200 HRLI T,441400
02300 MOVE X,1(16)
02400 HRL X,IDX
02500 LOOP2:
02550 MOVE 1,(X)
02600 IDPB 1,T
03000 AOBJN X,LOOP2
03100 JRA 16,2(16)
03200
03300 ;*********************************
03400
03500 ; CALL SPEED(SPEED,NCHNS)
03600 ; CALL D2A(NAME(1),SIZE)
03700
04600
04700 DAC←17
04800
04900 D2A: JUMP 0
05000 INIT DAC,17
05100 SIXBIT .AD.
05200 0
05300 JRST .-3
05400 MOVN 0,@1(16)
05500 HRLM 0,OUT
05600 MOVE 0,0(16)
05700 SUBI 0,1
05800 HRRM 0,OUT
05900 OUTPUT DAC,OUT
06000 RELEASE DAC,0
06100 JRA 16,2(16)
06200 OUT: 0
06300 3650 ;CONO 204,3650
06400 4030 ; " 424,4010
06500 0
06600 0
06700 SPEED: 0
06800 MOVE @(16)
06900 DPB [POINT 3,OUT+2,32]
07000 MOVE @1(16)
07100 SUBI 1
07200 DPB [POINT 2,OUT+2,26]
07300 JRA 16,2(16)
07400 END